Skip to content

feat(agent): encode myRsvp status semantics - #69

Open
KalebCole wants to merge 1 commit into
mainfrom
feat/rsvp-status-semantics
Open

feat(agent): encode myRsvp status semantics#69
KalebCole wants to merge 1 commit into
mainfrom
feat/rsvp-status-semantics

Conversation

@KalebCole

@KalebCole KalebCole commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • add machine-readable events.list.output metadata for every myRsvp value
  • define SENT as an inbound invitation awaiting the authenticated user's RSVP, not an outbound action
  • encode isHost === true as the highest-priority Hosting categorization
  • update AGENTS.md, README, and bundled partiful-events skill with the canonical mapping
  • preserve raw myRsvp runtime output with no derived field or behavior change

Closes #68

TDD evidence

  • Initial targeted run: 5 failed / 1 passed
  • Added null contract expectation separately: observed 1 expected failure
  • Final targeted run: 6 passed

Verification

  • npm test216 passed / 6 skipped
  • npm run typecheck / npx tsc --noEmit
  • git diff --check
  • live ./bin/partiful schema events.list inspection
  • corrected added-line security scan: no matches
  • npm pack --dry-run confirms README, schema source, and bundled event skill ship in the package

Compatibility

events list still returns the raw Partiful enum. No myRsvpCategory or myRsvpLabel field is added. Existing consumers remain unchanged; agents can query partiful schema events.list for authoritative meanings.

Review note

The local independent-review delegation and Claude Code fallback both failed before reading the diff due a provider-level model_not_supported HTTP 400. Local tests and checks above passed; GitHub Copilot review is requested on this PR as the independent remote gate.

Summary by CodeRabbit

  • Documentation

    • Clarified event RSVP meanings, including that SENT represents an inbound invitation awaiting a response.
    • Documented that host status takes precedence over RSVP categorization.
    • Clarified that going and maybe are aggregate guest counts, not personal RSVP states.
    • Added filtering guidance and links to machine-readable schema details.
  • New Features

    • Added structured output metadata for event-listing results, including RSVP values and categorization rules.

Expose authoritative myRsvp meanings through events.list schema metadata and teach agent-facing docs that SENT is an inbound invitation awaiting a response. Preserve the raw runtime enum and host precedence.\n\nCloses #68
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@KalebCole
KalebCole requested a review from Copilot July 25, 2026 18:49
@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6ccb5bbc-0625-48e3-827a-ecd745491edd

📥 Commits

Reviewing files that changed from the base of the PR and between 34fcde7 and 584000a.

📒 Files selected for processing (5)
  • AGENTS.md
  • README.md
  • skills/partiful-events/SKILL.md
  • src/commands/schema.ts
  • tests/rsvp-semantics.test.js

📝 Walkthrough

Walkthrough

The PR adds structured events.list output metadata for RSVP and host semantics, documents the mappings across project guidance and README content, and adds tests covering schema values, raw SENT preservation, host precedence, and documentation consistency.

Changes

RSVP semantics contract

Layer / File(s) Summary
Events list output contract
src/commands/schema.ts
Adds typed output metadata and defines myRsvp, isHost, enum meanings, and categorization precedence for events.list.
RSVP interpretation documentation
AGENTS.md, README.md, skills/partiful-events/SKILL.md
Documents RSVP mappings, clarifies that SENT is an inbound invitation awaiting RSVP, preserves host precedence, and distinguishes aggregate guest counts from personal status.
Schema, runtime, and documentation tests
tests/rsvp-semantics.test.js
Validates schema mappings, raw SENT output without derived fields, and canonical RSVP terminology in documentation.

Estimated code review effort: 2 (Simple) | ~15 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: encoding myRsvp status semantics.
Linked Issues check ✅ Passed The PR matches #68 by documenting all myRsvp values, clarifying SENT and host precedence, and adding tests plus schema/docs updates.
Out of Scope Changes check ✅ Passed The changes stay within the documented schema, docs, and test updates for myRsvp semantics.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/rsvp-status-semantics

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR strengthens the agent-facing contract for events list by adding machine-readable RSVP semantics to schema events.list and aligning docs/skills around the canonical meaning of myRsvp, especially clarifying that SENT is an inbound invite awaiting the authenticated user’s RSVP, and that isHost === true takes precedence for categorization.

Changes:

  • Added an output contract to schema events.list that enumerates meanings/categories for each myRsvp value and encodes categorization precedence (isHost === true first).
  • Updated agent/user documentation (AGENTS.md, README, bundled skill) to consistently describe SENT as inbound and to describe host-precedence categorization.
  • Added a test suite that enforces the schema contract and verifies runtime output remains backward-compatible (no derived RSVP fields added).
Show a summary per file
File Description
tests/rsvp-semantics.test.js Adds contract tests ensuring schema output includes RSVP semantics and that runtime summaries preserve raw myRsvp.
src/commands/schema.ts Extends command schema entries to include optional machine-readable output contracts and adds the events.list RSVP semantics metadata.
skills/partiful-events/SKILL.md Updates the bundled events skill documentation to teach the canonical RSVP semantics and host-first categorization.
README.md Replaces the brief RSVP description with a table + explicit warning about SENT and host precedence.
AGENTS.md Adds the canonical RSVP semantics section for agents and updates the code conventions note to reflect TypeScript/tsx usage.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 5/5 changed files
  • Comments generated: 0
  • Review effort level: Low

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(agent): encode myRsvp enum semantics so SENT is understood without inference

2 participants